package com.banyuan.课堂练习.IO流;

import java.io.*;
import java.nio.Buffer;
import java.util.ArrayList;
import java.util.Comparator;

/*
* ​	1） 新建一个文本文件hero.txt，文件内容为：

​			德玛,21,男,南京

​			剑圣,19,男,北京

​			维恩,22,女,上海

​	2） 用IO流将该文件内容读取出来并进行解析;

​	3） 创建一个Hero类，该类的属性(name,age,sex,city)与文件中的信息对应；

​	4） 将文件中解析出来的信息数据存放到三个Hero对象中，再将这些Hero对象存入ArrayList中；

​    5)   对该ArrayList按照Hero的年龄降序；

​    6）将排好序的ArrayList内容写到新的文件heros2.txt*/
public class HeroTest {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("hero.txt"));
             BufferedWriter bw = new BufferedWriter(new FileWriter("heros2.txt"))) {
            String s = null;
            ArrayList<Hero> list = new ArrayList<>();
            while ((s = br.readLine()) != null) {
                String[] arr = s.split("，");
                Hero h = new Hero();
                h.setName(arr[0]);
                h.setAge(Integer.parseInt(arr[1]));
                h.setSex(arr[2]);
                h.setCity(arr[3]);
                list.add(h);
            }
            System.out.println(list);
            list.sort(Comparator.comparing(Hero::getAge).reversed());
            System.out.println(list);
            for (int i = 0; i < list.size(); i++) {
                bw.write(list.get(i).toString());
                bw.newLine();
                bw.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
